Optimal high-speed multi-resolution retrieval method on large capacity database

ABSTRACT

Disclosed is an optimal high-speed multi-resolution retrieval method on a large capacity database capable of providing a retrieval speed sufficiently rapid to obtain a perfect retrieval accuracy, i.e., accuracy of 100%. The method provides an optimal high-speed retrieval algorithm for inducing an inequality capable of accurately determining effective clusters and ineffective clusters, and implementing an optimal high-speed information retrieval using the induced inequality, and an optimal high-speed retrieval algorithm for inducing an inequality based on a multi-resolution data structure for a high-speed processing, and implementing an optimal high-speed multi-resolution retrieval using the induced inequality. The method involves the steps of sorting all data contained in a database into a desired number of clusters each composed of data having similar features, deriving the lower bound of the distance between each cluster and a query, removing clusters having no possibility to be determined as best matches, searching, for best matches, data of clusters having the possibility to be determined as best matches, and inducing an inequality property based on a multi-resolution data structure for reducing unnecessary feature matching computation involved in a search procedure to reduce a large quantity of calculation.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to an optimal high-speed multi-resolution retrieval method on a large capacity database, and more particularly to a technique for inducing an inequality capable of allowing an accurate and rapid retrieval of desired information from a database, and implementing an optimal high-speed information retrieval using the induced inequality.

[0003] 2. Description of the Related Art

[0004] In order to search for the best match to a query based on a similarity measure, an exhaustive search should be performed literally for all data contained in a database. However, straightforward exhaustive search algorithms require a large quantity of calculation. Thus, a variety of high-speed search algorithms have recently been proposed.

[0005] Berman and Shapiro have proposed introduction of a triangular inequality so as to remove candidates having no possibility to be determined as the best match(es), from a retrieval procedure. For a reduction of additional calculation quantity, they have also proposed to simultaneously use diverse distance measures and representative data called “key data”. However, this method involves a considerable variation in retrieval speed depending on “key data”, and exhibits an insufficient speed performance in association with large capacity databases.

[0006] Recently, Berman and Shapiro has also proposed the application of a data structure called a “Triangle Trie” to achieve an improvement in performance. In this method, however, there is still a problem in that the retrieval speed is considerably influenced by the tree depth and threshold value of “key data”.

[0007] Meanwhile, Krishnamachari and Mottaleb have proposed a cluster-based indexing algorithm in which diverse data contained in a database are partitioned into clusters in such a fashion that each cluster contains data having similar features, in accordance with an architectural clustering scheme.

[0008] In accordance with the cluster-based indexing algorithm, it is possible to remarkably reduce the quantity of calculation because query data is not compared with all data contained in a database, but compared with a part of the data in a retrieval procedure in accordance with the clustering scheme.

[0009] In particular, the cluster-based indexing algorithm is suitable for large capacity databases in that the number of comparisons to obtain a desired retrieval accuracy is not linearly proportional to the capacity of the database.

[0010]FIG. 1 is a schematic diagram illustrating problems involved in conventional cluster-based search algorithms.

[0011] Referring to FIG. 1, the second cluster is selected as a candidate because its center C₂ is nearest to the query Q. In accordance with the illustrated search algorithm, an element X₂ in the second cluster is selected as the best match, based on the distance of each element belonging to the second cluster from the query Q. However, the actual best match is the element X₈ of the fist cluster.

[0012] The reason why such a problem occurs is that the center of the cluster, to which the actual best match belongs, is not always nearest to the query Q. To this end, a method for simultaneously searching for several near clusters has been proposed. However, this method cannot ensure an optimal retrieval inherently.

[0013] Also, the conventional cluster-based search algorithms, which cannot ensure an optimal retrieval, have a drawback in that they cannot provide a retrieval speed sufficiently rapid to obtain a satisfactory retrieval accuracy.

SUMMARY OF THE INVENTION

[0014] Therefore, the present invention has been made to solve the above mentioned problems, and an object of the invention is to provide an optimal high-speed multi-resolution retrieval method on a large capacity database for inducing an inequality capable of accurately determining effective clusters and ineffective clusters, and implementing an optimal high-speed information retrieval using the induced inequality.

[0015] Another object of the invention is to provide an optimal high-speed multi-resolution retrieval method on a large capacity database for inducing an inequality based on a multi-resolution data structure for a high-speed processing, and implementing an optimal high-speed multi-resolution retrieval using the induced inequality.

[0016] In accordance with the present invention, these objects are accomplished by providing an optimal high-speed multi-resolution retrieval method on a large capacity database, comprising the steps of: partitioning all data contained in a database into a desired number of clusters each composed of data having similar features; deriving the lower bound of the distance between each cluster and a query, removing clusters having no possibility to be determined as the best matches, and searching, for best matches, data in clusters having the possibility to be determined as the best matches; and inducing an inequality property based on a multi-resolution data structure for reducing unnecessary feature matching computation involved in a search procedure to reduce a large quantity of calculation.

[0017] In accordance with this method, it is possible to accurately search not only for a single best match, but also for a plurality of more-significant best matches.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The above objects, and other characteristics and advantages of the present invention will become more apparent after a reading of the following detailed description when taken in conjunction with the drawings, in which:

[0019]FIG. 1 is a schematic diagram illustrating problems involved in conventional cluster-based search algorithms;

[0020]FIG. 2 is a schematic diagram illustrating distance inequality features for an optional cluster in accordance with the present invention;

[0021]FIG. 3 is a schematic diagram illustrating the multi-resolution data structure of a brightness histogram X having 2^(L) bins;

[0022]FIG. 4 is a diagram schematically illustrating a minimum distance arrangement of M more-significant best matches; and

[0023]FIG. 5 is a schematic diagram illustrating an example in which an erroneous determination for best matches is made.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] Now, the configuration and effects of a preferred embodiment of the present invention will be described in detail with reference to the annexed drawings.

[0025]FIG. 2 is a schematic diagram illustrating distance inequality property for an optional cluster in accordance with the present invention.

[0026] Prior to a description of the distance inequality property for an optional cluster in accordance with the present invention, the clustering procedure for a database will be described.

[0027] In accordance with the clustering procedure, the database is first divided into a predetermined number of clusters, that is, K clusters, using a MacQueen K-means clustering method, in order to allow data having similar features to compose one cluster.

[0028] Here, the image data features may include information such as color, texture, and shape. In the case of audio data, information such as pitch may be usable for data features. Each of the K clusters has a mean center thereof.

[0029] Since the computation required in the clustering procedure is conducted irrespective of an actual retrieval, the time taken to conduct the clustering procedure is not included in the retrieval time. The clustering for the database is carried out as follows:

[0030] Step 1) The number of clusters, K (K<N), is determined.

[0031] Step 2) The features of the cluster centers, C₁, C₂, . . . , and C_(K), are initialized. K data are optionally selected from the database, as the initial cluster centers. For an efficient initialization, the minimum distance between two cluster centers is not to be less than a certain threshold value.

[0032] Step 3) For the data other than the data selected as the cluster centers, their nearest cluster centers are determined. Each of the determined nearest cluster centers is included in the cluster associated therewith. Thereafter, each cluster center is updated, based on the following expression: $\begin{matrix} {C_{k} = {\frac{1}{{n\left( \Phi_{k} \right)} + 1}\left\lbrack {{{n\left( \Phi_{k} \right)}C_{k}} + X_{i}} \right\rbrack}} & \text{[Expression 1]} \end{matrix}$

[0033]  where, “X_(i)” represents the current element to be added to the current cluster, “Φ_(k)” represents the current cluster, and “n(Φ_(k)) ” represents the number of elements belonging to the current cluster Φ_(k).

[0034] Step 4) The third step is repeated for all elements. Thus, a cluster center set “π⁰={C₁, C₂, . . . , C_(k)} is finally derived.

[0035] Now, a scheme for solving problems essentially involved in the conventional cluster-based search algorithm shown in FIG. 1 will be described with reference to FIG. 2.

[0036] First, an initial minimum distance don is derived for the cluster nearest to a query Q, as expressed by the following expression: $\begin{matrix} {d_{\min} = {\min\limits_{X_{i} \in \Phi_{K_{\min}}}{d\left( {X_{i},Q} \right)}}} & \left\lbrack {{Expression}\quad 2} \right\rbrack \end{matrix}$

[0037] Based on Expression 2, the following expression may be induced: $\begin{matrix} {C_{k_{\min}} = {{\arg \quad C_{k}}\overset{\min}{\in}{\prod\limits^{0}{d\left( {C_{k},Q} \right)}}}} & \left\lbrack {{Expression}\quad 3} \right\rbrack \end{matrix}$

[0038] In Expressions 2 and 3, “d(X, Y)” represents the L₁-distance between two features X and Y. In accordance with the conventional algorithm shown in FIG. 1, the initial minimum distance d_(min) corresponds to “d(X₂, Q)”. Thereafter, the element furthest from the cluster center in each of clusters other than the cluster Φ_(k) _(min) associated with the initial minimum distance d_(min) is determined. The distance of the furthest element from the cluster center in each cluster, δ_(k), is defined as follows: $\begin{matrix} {\delta_{k} = {X_{i}\overset{\max}{\in}{\Phi_{k}{d\left( {X_{i},C_{k}} \right)}}}} & \left\lbrack {{Expression}\quad 4} \right\rbrack \end{matrix}$

[0039] The distance δ_(k) of each cluster is calculated and stored in advance. Based on the initial minimum distance d_(min) and δ_(k) of each cluster, it is then determined whether or not it is necessary for the current cluster to be searched for in order to achieve an optimal retrieval. For this determination, Inequality Property 1 expressed by the following expression is used: $\begin{matrix} {{{{{If}\quad {d\left( {C_{k},Q} \right)}} - \delta_{k}} > d_{\min}},{{{then}\quad X_{i}}\overset{\min}{\in}{{\Phi_{k}{d\left( {X_{i},Q} \right)}} > d_{\min}}}} & \left\lbrack {{Expression}\quad 5} \right\rbrack \end{matrix}$

[0040] Expression 5 expressing Inequality Property 1 can be proved as follows: $\begin{matrix} {X_{i_{\min}} = {{\arg \quad X_{i}}\overset{\min}{\in}{\Phi_{k}{d\left( {X_{i},Q} \right)}}}} & \left\lbrack {{Expression}\quad 6} \right\rbrack \end{matrix}$

[0041] In accordance with the triangular inequality method, the following inequality can be induced from Expression 5:

d(X _(l) _(min) , Q)≧d(C _(k) , Q)−d(X _(l) _(min) , C _(k))  [Expression 7]

[0042] In similar, the following inequality can be induced from Expression 4: $\begin{matrix} {\delta_{k} = {X_{i}\overset{\max}{\in}{{\Phi_{k}{d\left( {X_{i},C_{k}} \right)}} \geq {d\left( {X_{i_{\min}},C_{k}} \right)}}}} & \left\lbrack {{Expression}\quad 8} \right\rbrack \end{matrix}$

[0043] Using Expressions 7 and 8, the following inequality can be obtained:

d(X _(l) _(min) , Q)≧d(C _(k) , Q) d(X _(l) _(min) , C _(k))≧d(C _(k) , Q)−δ_(k)  [Expression 9]

[0044] If d(C_(k), Q)−δ_(k)>d_(min), the following expression is then established: $\begin{matrix} {{{{d\left( {X_{i_{\min}},Q} \right)} = {X_{i_{\min}}\overset{\min}{\in}{\Phi_{k}{d\left( {X_{i},Q} \right)}}}}\rangle}d_{\min}} & \left\lbrack {{Expression}\quad 10} \right\rbrack \end{matrix}$

[0045] Thus, the establishment of Expression 5 is proved.

[0046] “d(C_(k), Q)−δ_(k)” in Inequality Property 1 means the lower bound of the distance between the query Q and any element in the current cluster Φ_(k).

[0047] If “d(C_(k), Q)−δ_(k)” is more than “d_(min)”, this means that there is no element spaced apart from the query Q by a distance less than “d_(min)” in the current cluster Φ_(k). Accordingly, it is unnecessary to take the current cluster into consideration.

[0048] In such a fashion, therefore, it is possible to surely remove all ineffective clusters by applying Inequality Property 1.

[0049] However, the procedure for determining the nearest cluster and the procedure for determining the best match still require a considerable quantity of calculation. In order to reduce this calculation quantity, an optimal retrieval method is proposed in accordance with the present invention. According to this optimal retrieval method, another inequality property is induced, based on a multi-resolution data structure. Based on this inequality property, an optimal high-speed retrieval can be achieved.

[0050]FIG. 3 is a schematic diagram illustrating the multi-resolution data structure of a brightness histogram X having 2^(L) bins.

[0051] For the convenience of description, it is assumed that the multi-resolution data structure illustrated in FIG. 3 is associated with a normalized histogram having B (B=2^(L)) bins. The multi-resolution data structure of the histogram X may be defined by a histogram data stream of “{X⁰, . . . , X¹, . . . , X^(L)}”.

[0052] Here, X corresponds to “X^(L)”. The histogram X^(l) has 2^(l) bins. This histogram X^(l) is obtained by reducing the resolution of the histogram X^(l+1) by 50% (½).

[0053] Each pixel value of the histogram at the current level is obtained by summing together the values of two pixels in the histogram corresponding to the upper level adjacent to the current level. For example, assuming that X^(l)(m) represents the value of the m-th bin in the histogram X^(l), this bin value X^(l)(m) can be derived as follows:

X ^(l)(m)=X ^(l+1)(2m−1)+X ^(l+1)(2m), 1≦m≦2^(l)  [Expression 11]

[0054] Now, another inequality property, that is, Inequality Property 2, used for an optimal high-speed retrieval in a multi-resolution feature space will be described in detail. Inequality Property 2 can be expressed by the following expression:

d(X, Y)≡d ^(L)(X, Y)≧d ^(L−1)(X, y)≧ . . . ≧d ^(l)(X, Y)≧ . . . ≧d ¹(X, Y)≧d ⁰(X, Y)  [Expression 12]

[0055] where, “d^(l)(X, Y)” represents the L₁-distance between two histograms X and Y at level l, that is, “d(X^(l), Y^(l))”.

[0056] Expression 12 expressing Inequality Property 2 can be proved as follows:

[0057] The L₁-distance d^(l+1)(X, Y) between two histograms X and Y at level “l+1” can be derived as follows: $\begin{matrix} {{d^{l + 1}\left( {X,Y} \right)} = {{\sum\limits_{m = 1}^{2^{l + 1}}{{{X^{i + 1}(m)} - {Y^{i + 1}(m)}}}} = {\sum\limits_{m = 1}^{2^{l}}\left( {{X\text{?}\text{?}\text{indicates text missing or illegible when filed}}\quad} \right.}}} & \text{[Expression 13]} \end{matrix}$

[0058] where, each of the histograms X^(l+1) and Y^(l+1) has 2^(l+1) bins, and X^(l+1)(m) represents the value of the m-th bin in the histogram X^(l+1).

[0059] Meanwhile, the L₁-distance d^(l)(X, Y) at level l can be expressed as follows: $\begin{matrix} {{d^{l}\left( {X,Y} \right)} = {{\sum\limits_{m = 1}^{2^{l}}{{{X^{i}(m)} - {Y^{l}(m)}}}} = {\sum\limits_{m = 1}^{2^{l}}{{\text{?}\text{?}\text{indicates text missing or illegible when filed}}\quad}}}} & \text{[Expression 14]} \end{matrix}$

[0060] Since |A|+|B|≧|A+B|, the following expression is established: $\begin{matrix} {{\sum\limits_{m = 1}^{2^{l}}\left( {{{{X^{l + 1}\left( {{2m} - 1} \right)} - {Y^{l + 1}\left( {{2m} - 1} \right)}}} + {{{X^{l + 1}\left( {2m} \right)} - {Y^{l + 1}\left( {2m} \right)}}}} \right)} \geq {\sum\limits_{m = 1}^{2^{l}}{{{X^{l + 1}\left( {{2m} - 1} \right)} - {Y^{l + 1}\left( {{2m} - 1} \right)} + {X^{l + 1}\left( {2m} \right)} - {Y^{l + 1}\left( {2m} \right)}}}}} & \text{[Expression~~15]} \end{matrix}$

[0061] Based on Expression 13, 14 and 15, the following expression can be induced: $\begin{matrix} {{{{{d^{l + 1}\left( {X,Y} \right)}d^{l + 1}} = {{\text{?} \geq {\sum\limits_{m = 1}^{2^{l}}{{{X^{l + 1}\left( {{2m} - 1} \right)} - {Y^{l + 1}\left( {{2m} - 1} \right)} + {X^{l + 1}\left( {2m} \right)} - {Y^{l + 1}\left( {2m} \right)}}}}} = \text{?}}}{\text{?}\text{indicates text missing or illegible when filed}}}\quad} & \text{[Expression 16]} \end{matrix}$

[0062] Referring to Expression 16, it can be found that Expression 12 is established. Thus, Inequality Property 2 is proved.

[0063] Inequality Property 2 means that when “d^(l)(X, Y)” is more than a particular value, “d^(L)(X, Y)” is always more than the particular value.

[0064] The distance calculation at an upper level requires an increased computation quantity as compared to that at a lower level. Also, it is possible to remove an increased number of ineffective candidates at the lower level, as compared to the upper level. When such properties are applied to a search procedure, it is possible to considerably reduce the calculation quantity required for the search procedure.

[0065] It is assumed that “N” represents the number of data contained in a database I (I={I₁, . . . , I_(i), . . . , I_(N)}), and “Ω⁰” represents a set of the features of the data (Ω⁰={X₁, . . . , X_(i), . . . , X_(N)}) . The multi-resolution features of each data are previously calculated and stored.

[0066] The high-speed multi-resolution exhaustive search algorithm (MSA_(S)) based on Inequality Property 2 can be summarized as follows:

[0067] Step 1) The multi-resolution structure of a query Q is derived.

[0068] Step 2) The initial minimum distance d_(min) is set to be infinite.

[0069] Step 3) Respective values of “i” and “l” are set to be 1.

[0070] Step 4) If l=L, the procedure of the algorithm then proceeds to step 6. If “i” is more than “N”, the procedure then proceeds to step 7.

[0071] Step 5) The value of “d^(l)(X_(i), Q)” is derived. If “d^(l)(X_(l), Q)” is more than “d_(min)”, the current candidate X_(i) is then removed. Thereafter, respective values of “i” and “l” are updated with “i+1” and “1”. If not, the value of “l” is updated with “i+1”. Subsequently, the procedure then returns to step 3.

[0072] Step 6) If “d^(L)(X_(i), Q)” is more than “d_(min)”, the current candidate X₁ is then removed. If not, “d_(min)” is updated with “d^(L)(X_(i), Q)”. Respective values of “i” and “l” are updated with “i+l” and “l”. Thereafter, the procedure returns to step 4.

[0073] Step 7) data having the final “d_(min)” is selected as the best match.

[0074] As apparent from the above description, the multi-resolution features of each data contained in the database are previously calculated, and then stored. However, the quantity of calculation for the multi-resolution features of query data should be taken into consideration because those multi-resolution features must be obtained within a search time.

[0075] In the case of, for example, normalized brightness histogram features, only 254 additions are required in obtaining a desired multi-resolution histogram because the number of levels is 8. Accordingly, the quantity of calculation for the multi-resolution brightness histogram may be negligible, taking into consideration the fact that 511 additions and 256 absolute value computations are required for one matching procedure.

[0076] Meanwhile, although it is necessary to use an additional memory for storing multi-resolution histograms, such a memory addition may be negligible because the size of each histogram is considerably smaller than that of associated data. The same conditions are applied to other features.

[0077] Now, a new cluster-based multi-resolution search algorithm (CMSA) for achieving an optimal high-speed information retrieval, using the optimal cluster removal condition according to Inequality Property 1 and the MSAs based on Inequality Property 2 will be described.

[0078] Once a query is given, the cluster center nearest to the query is first determined in accordance with MSA_(S). The distance d_(min) between the query and the initial best match of the cluster associated with the nearest cluster center is then derived.

[0079] Thereafter, the best match(es) are determined by applying MSA_(S) to clusters, expected as having those best matches, in accordance with the cluster removal condition based on Inequality Property 1. Since the determination of the nearest cluster center is carried out based on MSA_(S), there is no any value of “d^(L)(C_(k), Q)” calculated in the cluster removal procedure.

[0080] This is because if “d^(l) ^(_(k)) (C_(k), Q)” is more than “d_(min)”, the distances d^(l) ^(_(l)) ⁺¹(C_(k), Q), . . . , d^(L)(C_(k), Q) at respective levels higher than the l_(k)-th level are not calculated.

[0081] For this reason, there is a problem in that it is necessary to calculate again values of “d^(L)(C_(k), Q)” for an introduction of Inequality Property 1, expressed by Expression 5, in the cluster removal procedure.

[0082] To this end, Inequality Property 1 is modified into Inequality Property 1.1 using the relation “d(C_(k), Q)−d^(L)(C_(k), Q)≧d^(l) ^(_(k)) (C_(k), Q)”, as follows: $\begin{matrix} {{{{{If}\quad {d^{l_{k}}\left( {C_{k},Q} \right)}} - \delta_{k}} > d_{\min}},{{{then}\quad X_{i}}\overset{\min}{\in}{{\Phi_{k}{d\left( {X_{i},Q} \right)}} > d_{\min}}}} & \left\lbrack {{Expression}\quad 17} \right\rbrack \end{matrix}$

[0083] where, l_(k)≦L

[0084] In accordance with Inequality Property 1.1, where “d^(l) ^(_(k)) (C_(k), Q)−δ_(k)” is more than “d_(min)”, it is possible to remove the current cluster Φ_(k) without any loss.

[0085] On the other hand, where “d^(l) ^(_(k)) (C_(k), Q)−δ_(k)” is less than “d_(min)”, the current cluster Φ_(k) is searched because the best match may be present in the current cluster Φ_(k). For this determination, there is no additional quantity of calculation because the values d^(l) ^(_(k)) (C_(k), Q) and δ_(k) associated with each cluster are known in advance.

[0086] Two CMSAs based on the above mentioned inequality properties are proposed according to the number of output best matches.

[0087] The first algorithm is a CMSA_(S) adapted to output a single best match, and the second algorithm is a CMSA_(M) adapted to output a plurality of best matches.

[0088] The CMSA_(S) mainly involves three processing steps. In accordance with this CMSA_(S), “C_(k) _(min) ” is first determined using MSA_(S). The initial minimum distance don is then derived from “Φ_(k) _(min) ”. Finally, MSA_(S) is applied to candidate clusters selected in accordance with Inequality Property 1.1, thereby determining the best match. The search procedure according to CMSA_(S) can be summarized as follows:

[0089] Step 1) MSA_(S) is carried out to determine the cluster k_(min) having a minimum distance d′_(min).

[0090] Step 2) MSA_(S) is applied to “Φ_(k) _(min) ” under condition in which it is assumed that the initial “d_(min)” corresponds to “d′_(min)”, thereby updating “d_(min)” as follows: $\begin{matrix} {d_{\min} = {X_{i}\overset{\min}{\in}{k_{\min}{d^{L}\left( {X_{i},Q} \right)}}}} & \left\lbrack {{Expression}\quad 18} \right\rbrack \end{matrix}$

[0091] Step 3-1) “k” is set to “1”.

[0092] Step 3-2) If k=k_(min), “k” is updated with “k+1”. On the other hand, if k>K, the procedure proceeds to step 3-4.

[0093] Step 3-3) If “d^(l) ^(_(k)) (C_(k), Q)−δ_(k)” is more than “d_(min)”, the current cluster is removed. If not, “d_(min)” is updated by applying MSA_(S) to “Φ_(k)”. After “k” is updated with “k+1”, the procedure returns to step 3-2.

[0094] Step 3-4) Data having the final “d_(min)” is selected as the best match.

[0095] In accordance with CMSA_(M), “C_(k) _(min) ” is first determined in the same fashion as that in CMSA_(S). Thereafter, a minimum distance arrangement shown in FIG. 4 and adapted to store respective distance values of M more-significant best matches is filled with those best matches in accordance with a rule to be described hereinafter.

[0096]FIG. 4 is a diagram schematically illustrating a minimum distance arrangement of M more-significant best matches.

[0097] If n(Φ_(k) _(min) )≧M, M more-significant best matches are filled in the arrangement in the ascending order, starting from that having the lowest value.

[0098] If n(Φ_(k) _(min) )<M, respective distances of all elements present in “Φ_(k) _(min) ” are calculated. The calculated values are stored in the arrangement in the ascending order, starting from the lowest value. The remaining elements, not filled with the calculated values, in the arrangement are stored with the infinite value. Using a modified MSA_(S), it is possible to determine M more-significant best matches present in “Φ_(k) _(min) ”. This modified algorithm is referred to as “MSA_(M)”. This MSA_(M) can be summarized as follows:

[0099] Step 1) The multi-resolution features of the query Q are derived.

[0100] Step 2) All elements present in “d_(min)[.]” are initialized with the infinite value.

[0101] Step 3) “i” and “l” are set to “1”, respectively.

[0102] Step 4) If l=L, the procedure proceeds to step 6. If i>n(Φ_(k) _(min) ) the procedure proceeds to step 7.

[0103] Step 5) “d^(l)(X_(i), Q)” is calculated. If d^(l)(X_(i), Q)>d_(min)[M−1], the current candidate X_(i) is removed. Thereafter, “i” and “l” are updated with “i+1” and “1”, respectively. Following this updating, the procedure returns to step 3. If d^(l)(X_(i), Q)≦d_(min)[M−1], “l” is updated with “l+1”. Following this updating, the procedure returns to step 3.

[0104] Step 6) If d^(L)(X_(i), Q)>d_(min)[M−1], the current candidate X_(j) is removed. If not, “d_(min)[M−1]” is updated with “d^(L)(X_(i), Q)”. Following this updating, “d_(min)[.]” is arranged in the ascending order, starting from the lowest value. Thereafter, “i” and “l” are updated with “i+1” and “1”, respectively. Following this updating, the procedure returns to step 4.

[0105] Step 7) Finally, M data left in “d_(min)[.]” are selected as M most-significant best matches.

[0106] As mentioned above, the updating of “d_(min)” is carried out by conducting the filling of “d_(min)[.]” while applying MSA_(M) to “Φ_(k) _(min) ”, and then applying MSA_(M) to each of those selected from the remaining clusters in accordance with Inequality Property 1.1.

[0107] Finally, data corresponding to “d_(min)[.]” are selected as M more-significant best matches. Even in the case using the above-mentioned search algorithm, it may be practically impossible to accurately search for M more-significant best matches.

[0108]FIG. 5 is a schematic diagram illustrating an example in which an erroneous determination for best matches is made.

[0109] Although X₈, X₄, and X₂ are selected as three more-significant best matches in the case of FIG. 5, the actual third best match is not X₂, but X₉. To this end, a cluster removal condition relaxed from Inequality Property 1.1 may be induced by substituting “d_(min)” for “d_(min)[M−1]”. That is, the following Inequality Property 1.2 may be induced: $\begin{matrix} {{{{{If}\quad {d\left( {C_{k},Q} \right)}} - \delta_{k}} > {d_{\min}\left\lbrack {M - 1} \right\rbrack}},{{{then}\quad X_{i}}\overset{\min}{\in}{{\Phi_{k}{d\left( {X_{i},Q} \right)}} > {d_{\min}\left\lbrack {M - 1} \right\rbrack}}}} & \left\lbrack {{Expression}\quad 19} \right\rbrack \end{matrix}$

[0110] When the above inequality property is employed as a post-processing involved in the algorithm proposed in accordance with the present invention, it is always possible to accurately search for M more-significant best matches. The final CMSA_(M) using the above mentioned inequality properties can be summarized as follows:

[0111] Step 1) The cluster ken having the minimum distance d′_(min) is searched for, as in step 1 of CMSA_(S).

[0112] Step 2) If n(Φ_(k) _(min) )≧M, M more-significant best matches are searched for in accordance with MSA_(M). Respective distance values of the searched more-significant best matches are stored in “d_(min)[.]”. On the other hand, if n(Φ_(k) _(min) )<M, n(Φ_(k) _(min) ) distance values are filled in “d_(min)[.]” in the ascending order, starting from the lowest value. The remaining elements of the arrangement are stored with the infinite value.

[0113] Step 3-1) “k” is set to “1”.

[0114] Step 3-2) If k=k_(min), “k” is updated with “k+1”. On the other hand, if k>K, the procedure proceeds to step 3-5.

[0115] Step 3-3) If d^(l) ^(_(k)) (C_(k), Q)−δ_(k)>d_(min)[0], the cluster k is removed. After “k” is updated with “k+1”, the procedure returns to step 3-2.

[0116] Step 3-4) If d^(l) ^(_(k)) (C_(k), Q)−δ_(k)≦d_(min)[0], “d_(min)[.]” is updated by applying MSA_(M) to “Φ_(k)”. After “k” is updated with “k+1”, the procedure returns to step 3-2.

[0117] Step 3-5) “k” is set to “1”.

[0118] Step 3-6) If it is determined that the cluster k has been searched for at step 3-4, “k” is then updated with “k+1”. If k>K, the procedure proceeds to step 3-9.

[0119] Step 3-7) If d^(l) ^(_(k)) (C_(k), Q)−δ_(k)>d_(min)[M−1], the cluster k is removed. After “k” is updated with “k+1”, the procedure returns to step 3-6.

[0120] Step 3-8) If d^(l) ^(_(k)) (C_(k), Q)−δ_(k)≦d_(min)[M−1], “d_(min)[.]” is updated by applying MSA_(M) to “Φ_(k)”. After “k” is updated with “k+1”, the procedure returns to step 3-6.

[0121] Step 3-9) M data corresponding to the final “d_(min)[.]” are selected as the top M best matches.

[0122] As apparent from the above description, the following advantages are obtained in accordance with the optimal high-speed multi-resolution retrieval method on a large capacity database proposed by the present invention.

[0123] First, the method of the present invention can be used as the important module of a search engine for any system used for a high-speed optimal retrieval on a large capacity database, for example, an image or video database.

[0124] Second, the method of the present invention is applicable to any multimedia database, which is capable of having a multi-resolution structure for image or audio data, to accurately and rapidly search the database for desired information. 

What is claimed is:
 1. An optimal high-speed multi-resolution retrieval method on a large capacity database comprising the steps of: deriving the multi-resolution structure of a query “Q”; setting an initial minimum distance “d_(min)” to have the infinite value. setting respective values of “i” and “l” to be “1”. deriving “d^(l)(X_(i), Q)”; deriving “d^(L)(X_(l), Q)”; and selecting data having a final value of “d_(min)” as the best match.
 2. The optimal high-speed multi-resolution retrieval method according to claim 1, wherein the step of deriving “d^(l)(X_(i), Q)” comprises the steps of: if “d^(l)(X_(l), Q)” is more than “d_(min)”, then removing the current candidate “X_(l)”, and updating respective values of “i” and “l” with “i+1” and “1”; and if “d^(l)(X_(i), Q)” is not more than “d_(min)”, then updating “l” with “i+1”.
 3. The optimal high-speed multi-resolution retrieval method according to claim 1, wherein the step of deriving “d^(L)(X_(i), Q)” comprises the steps of: if “d^(L)(X_(i), Q)” is more than “d_(min)”, then removing the current candidate “X_(i)”; and if “d^(L)(X_(i), Q)” is not more than “d_(min)”, then updating “d_(min)” with “d^(L)(X_(i), Q)”, and updating respective values of “i” and “l” with “i+1” and “1”.
 4. The optimal high-speed multi-resolution retrieval method according to claim 1, wherein the high-speed multi-resolution retrieval on the database is carried out using an inequality property expressed by the following expression: d(X, Y)≡d ^(L)(X, Y)>d ^(L−1)(X, y)> . . . ≧d ^(l)(X, Y)≧ . . . ≧d ^(l)(X, Y)≧d ⁰(X, Y)
 5. An optimal high-speed multi-resolution retrieval method using a cluster-based multi-resolution search algorithm adapted to output one best match, comprising the steps of: performing a high-speed multi-resolution exhaustive search algorithm, thereby searching for a cluster “k_(min)” having a minimum distance “d′_(min)”; setting an initial value of the “d_(min)” to “d′_(min)”, applying the high-speed multi-resolution exhaustive search algorithm to “Φ_(k) _(min) ”, thereby updating “d_(min)”; deriving “d^(l) ^(_(k)) (C_(k), Q)−δ_(k)”; and selecting data having a final value of “d_(min)” is selected as the best match.
 6. The optimal high-speed multi-resolution retrieval method according to claim 5, wherein the high-speed multi-resolution retrieval using the cluster-based multi-resolution search algorithm is carried out using an inequality property expressed by the following expression: ${{{{If}\quad {d^{l_{k}}\left( {C_{k},Q} \right)}} - \delta_{k}} > d_{\min}},{{{then}\quad X_{i}}\overset{\min}{\in}{{\Phi_{k}{d\left( {X_{i},Q} \right)}} > d_{\min}}}$ where, l_(k) ≤ L.

where, l_(k)≦L
 7. The optimal high-speed multi-resolution retrieval method according to claim 5, wherein “d_(min)” is updated with a value expressed by the following expression: ${d_{\min} = {X_{i}\overset{\min}{\in}{{\Phi_{k}}_{\min}{d^{L}\left( {X_{i},Q} \right)}}}},$

further comprising the steps of: setting “k” to “1”; and if k=k_(min), updating “k” with “k+1”.
 8. The optimal high-speed multi-resolution retrieval method according to claim 5 or 6, further comprising: if “d^(l) _(k) ” (C_(k), Q)−δ_(k)” is more than “d_(min)”, removing the cluster “k”; if “d^(l) ^(_(k)) (C_(k), Q)−δ_(k)” is not more than “d_(min)”, applying the high-speed multi-resolution exhaustive search algorithm to “Φ_(k)”, thereby updating “d_(min)”; and updating “k” with “k+1”.
 9. An optimal high-speed multi-resolution retrieval method using a cluster-based multi-resolution search algorithm adapted to output a plurality of more-significant best matches, comprising the steps of: performing a high-speed multi-resolution exhaustive search algorithm, thereby searching for a cluster “k_(min)” having a minimum distance “d′_(min)”; if n(Φ_(k) _(min) )≧M, searching for M more-significant best matches in accordance with an algorithm modified from the high-speed multi-resolution exhaustive search algorithm to search for the M more-significant best matches, and storing respective distance values of the searched more-significant best matches “d_(min)[.]”; setting “k” to “1”, and if k=k_(min), updating “k” with “k+1”; if d^(l) ^(_(k)) (C_(k), Q)−δ_(k)>d_(min)[0], removing the cluster “k”, and updating “k” with “k+1”; updating “d_(min)[.]” while applying the modified high-speed multi-resolution exhaustive search algorithm to “Φ_(k)”, and updating “k” with “k+1”; setting “k” to “1”, and if it is determined that the cluster “k” has been searched for, updating “k” with “k+1”; if d^(l) ^(_(k)) (C_(k), Q)−δ_(k)>d_(min)[M−1], removing the cluster “k”, and updating “k” with “k+1”; updating “d_(min)[.]” while applying the modified high-speed multi-resolution exhaustive search algorithm to “Φ_(k)”, and updating “k” with “k+1”; and selecting M data corresponding to a final “d_(min)[.]” as best matches, respectively.
 10. The optimal high-speed multi-resolution retrieval method according to claim 9, wherein the high-speed multi-resolution retrieval using the cluster-based multi-resolution search algorithm is carried out using an inequality property expressed by the following expression: $X_{i}\overset{\min}{\in}{{\Phi_{k}{d\left( {X_{i},Q} \right)}} > {{d_{\min}\left\lbrack {M - 1} \right\rbrack}.}}$


11. The optimal high-speed multi-resolution retrieval method according to claim 9, further comprising: if n(Φ_(k) _(min) )<M, filling n(Φ_(k) _(min) ) distance values in “d_(min)[.]” in the order of higher values, starting from the lowest value, and storing the remaining elements of “d_(min)[.]” with the infinite value. 